Networked systems now provide a ubiquitous computing environment for many applications. As one example, application or storage service providers (XSPs) may provide computer processing capability and applications for customers and users on an as-needed basis. Through secure Internet connections, customers may seamlessly access these resources, as if they were part of their own network infrastructure. A client may rely exclusively on an XSP to provide access to applications or use the XSP to supplement their own resources as needed.
Most clients are typically very security-conscious when using networked systems. For example, these customers are typically concerned that other clients will be able to see, copy or corrupt their data as it travels to or from or is processed on an XSP computer system. An XSP may provide a form of security by using servers with comprehensive access control lists. Currently, many methods used by XSPs usually result in poor performance of many applications and usually do not provide physical isolation or encryption of client data.
Traditional systems and methods also may provide storage over a network such as the Internet by either assigning storage devices to each machine or by providing a pool of storage devices that may be shared among customers and users. Both of these solutions suffer from disadvantages. For example, assigning exclusive storage devices to a customer on a per-cell or per-system basis may result in a complex and difficult-to-manage computer infrastructure, and is typically burdensome to administer. In many cases, in order to safely preserve each customer's data each storage device may only be accessed or leased to one customer at a time. This can result in poor utilization of storage resources as customers are given access to more storage than they actually need. Furthermore, redeployment of resources to other cells requires physical re-configuration and reconnection of devices, resulting in expensive variable costs for XSPs.
Pools of storage devices have also traditionally been used to provide availability of the devices to customers or users on a non-exclusive basis. These pools may reduce costs and manageability issues, but these systems typically fail to sufficiently segregate, and thus secure, data of different customers. These systems utilize application layer approaches to improve data security. But such a solution may not be easily implemented by XSP's or may not be provided by the XSP, because the client system usually requires software to enable these methods. For example, providing such security may in some cases impose burdensome requirements on XSPs to manage their customers' network access and login processes, file sharing permissions, and other security measures, and also may adversely impact the performance of the XSP systems. Moreover, XSP customers usually have or prefer to have configuration control of each machine, which allows them to add or remove any software that could otherwise be used by the XSP to provide a layer of security.